package com.rankeiot.core.anno;

import com.rankeiot.core.Current;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 权限控制
 * @author desire
 */
@Target({ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Auth {
    /**
     * 默认不需权限
     * @return
     */
    String[] value() default {};

    /**
     * 登录需要的用户
     * @return
     */
    String[] role() default {};

    /**
     * 用户类型
     * @return
     */
    char userType() default Current.TYPE_USER;
    char[] subType() default Current.SUB_TYPE_DEFAULT;
    //需要登录
    boolean login() default true;

//    enum LoginType{
//        @Notes("web")
//        W,
//        @Notes("app")
//        A
//    }
//    enum UserType{
//        @Notes("user")
//        U,
//        @Notes("member")
//        M
//    }
}
